Among machine tools, a machine tool that has three linear axes and two rotation axes is called five-axis machine. A five-axis machine can machine a workpiece into a complicated shape by designating the distal end position of the tool according to the positions of the linear axes and designating a posture of the tool according to the rotation axes.
When a workpiece is machined into an ornamental curved surface, generally, sequence of points of a tool distal end position and the tool posture are typically divided into minute blocks along the curved surface, which is created by a CAD/CAM system or the like. Machining by interpolating in straight lines between the points in the sequence is performed by a numerical control apparatus. In order to smooth the machined surface of the workpiece obtained as a result of machining, the blocks have to be divided more finely. However, if the blocks are finely divided when it is not necessary, the program data volume becomes excessively large in some cases and the arithmetical operation of a program reading and analyzing in the numerical control apparatus takes a long time, which makes it difficult to operate at a predetermining machining speed.
To address the problem, a technique has been proposed in which the sequence of machining points is created without finely dividing the blocks excessively; and the sequence of points is interpolated with curves instead of straight lines by the numerical control apparatus.
Patent Literature 1 describes a numerical control apparatus that performs curve interpolation between for machining points in order to machine a curved surface and changes the inclined angle of the tool with respect to the workpiece. Specifically, a designated sequence of points and a sequence of vectors are read thereinto from a machining program. The numerical control apparatus calculates two interpolating points as actual designated points between points with respect to the read designated sequence of points; creates an approximate curve for the machining points with respect to an actual designated sequence of points using the method of least squares; moves the actual designated points to the approximate curve for machining points to calculate a curve for machining points; performs interpolation on the curve for machining points; and calculates machining points. Alternatively, the numerical control apparatus calculates two interpolating vectors as actual designated vectors for the sequence of read vectors; creates an approximate curve for vector that indicates most distal end point with respect to a distal end sequence of points of the actual designated vector using the method of least squares; moves the actual designated vectors to the approximate curve for the vector indicating the most distal end point in order to calculate a curve for the vector distal end points; performs interpolation for the curve for vector distal end points; and calculates an interpolation vector. The numerical control apparatus calculates a vector showing the direction of movement by using differences between the machining points and machining points of the immediately preceding cycle; calculates a tool distal end center vector from the interpolation vector; and calculates a tool direction vector from the interpolation vector and the traveling direction vector. Further, the numerical control apparatus adds the tool distal end center vector and the tool direction vector to the machining points so as to calculate positions of linear movement axes X, Y, and Z; and calculates the positions of rotation axes A and C from the tool direction vector. Consequently, according to Patent Literature 1, the machining points are smoothly interpolated and the relative relation between the tool and the workpiece smoothly changes. Therefore, a smooth curved surface is obtained.
Patent Literature 2 describes a numerical control apparatus that performs control such that machining points move along a smooth curve and a reference tool length position smoothly changes. Specifically, the numerical control apparatus analyzes a machining program and creates a machining point designated sequence and a tool posture designated sequence. The numerical control apparatus creates a machining point approximate curve with respect to the machining point designated sequence that has been created using the method of least squares; moves the machining point designated sequence toward the machining point approximate curve so as to acquire the machining point curve; performs interpolation along the machining point curve; and calculates an interpolated machining position. Meanwhile, the numerical control apparatus calculates a tool posture unit sequence of vectors from the created tool posture designated sequence; integrates the reference tool length to acquire a reference tool length vector; adds the reference tool length vector to the machining point designated sequence so as to generate a reference tool length position sequence; creates a reference tool length position approximate curve with respect to the reference tool length position sequence using the method of least squares; moves the reference tool length position sequence to the reference tool length position approximate curve so as to calculate a reference tool length position curve; performs interpolation along the reference tool length position curve; and calculates an interpolated reference tool length position. The numerical control apparatus calculates an interpolated tool posture from the interpolated machining position and the interpolated reference tool length position. Further, the numerical control apparatus calculates positions of linear movement axes X, Y, and Z from the interpolated machining position, the interpolated tool posture, and the actual tool length and calculates positions of rotation axes B and C from the interpolated tool posture. Consequently, according to Patent Literature 2, it is possible to perform machining while smoothly changing a tool posture by controlling the linear axes and the rotation axes to attain a calculated tool posture.